package com.cskaoyan.javase.array._0introduction;
/**
 * 数组的引入
 * 引例：
 * 假设一个班上有80个人，现在需要统计，某一门课程的平均成绩，是否需要定义80个变量？
 * 编写一个程序，需要储存12个月份的天数，是否要定义12个变量呢？
 * 编写一个扑克程序，需要储存54张扑克的信息，是否要定义54个变量？
 * 如果程序需要储存上成千上万的数据，程序员是不是也要逐一定义成千上万个变量呢？
 *
 * 很明显，如果程序需要多少数据，就要定义多少个变量，也太过于麻烦了
 * 并且多个变量单独存在,没有任何关联，也不方便管理和维护。
 * 对于程序而言,如果多个数据本身是有联系的,但又散乱的存放,会导致程序的可维护性很差。
 * 程序的需求变更是很正常，如果程序需求每变更一次，程序的代码就很多需要推倒重写，那么这个程序性的可维护性是很差。对于现代商业化的程序开发，程序的扩展性和可维护性对程序是最重要的。
 *
 * 这样就好比，去超市购物，谁有人会把东西一个一个带回家。购物需要"袋子"装东西，Java变量也需要一个容器来存放它们。
 * Java的容器有很多，最基本的容器就是数组（Array），定义一个数组，就可以存储很多数据。
 * Java中还有高级容器，就是集合（Collection），相对来说，集合是更常用的容器。
 *
 * 思考：
 * 数组中的数据是胡乱的摆放在一起吗？数组对装在里面的数据有什么要求吗？
 *
 * 数组是有序的，数组中的数据不是胡乱摆放的，数组在内存中是占据一片连续的存储空间，每个存储单元相对独立又关联紧密。这些存储单元是有编号的，这个编号是从0开始的，最大值是数组的长度-1
 * 这个编号的专业术语叫下标或者索引（index）
 *
 * 数组中的数据必须是严格的同种数据类型数据，数组中存放元素的数据类型，就是这个数组的数据类型
 * 比如int类型数组，就存放int类型元素
 * 比如String类型数组，就存放String类型元素
 * 数组可以存放基本数据类型元素，也可以存放引用数据类型元素，数组本身也是引用数据类型，本身也是一个变量。
 *
 *
 * @since 09:37
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}
